Skip to content

ci: declare empty permissions on release workflow#798

Open
arpitjain099 wants to merge 1 commit into
denoland:mainfrom
arpitjain099:chore/release-permissions
Open

ci: declare empty permissions on release workflow#798
arpitjain099 wants to merge 1 commit into
denoland:mainfrom
arpitjain099:chore/release-permissions

Conversation

@arpitjain099

@arpitjain099 arpitjain099 commented May 14, 2026

Copy link
Copy Markdown

Pins the release job to permissions: {}. The job checks out the repo with secrets.DENOBOT_PAT, sets git author/committer to denobot, and runs deno run -A jsr:@deno/rust-automation@0.22.1/tasks/publish-release with GITHUB_TOKEN: ${{ secrets.DENOBOT_PAT }}. The workflow's own GITHUB_TOKEN is never used.

Defense-in-depth angle: a compromised third-party action (cf. CVE-2025-30066) runs inside the existing job context and exfiltrates whatever scope the workflow token holds via build logs. With permissions: {} the token has zero scope to leak; release authority lives only in DENOBOT_PAT.

Matches the per-job contents: read + id-token: write block already declared in ci.yml. YAML validated locally with yaml.safe_load.

@CLAassistant

CLAassistant commented May 14, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

The release job clones the repo with DENOBOT_PAT, then runs
publish-release with the same PAT. The workflow GITHUB_TOKEN is unused.
permissions:{} captures that contract.

Style matches the per-job permissions block in ci.yml (contents:read +
id-token:write for trusted publishing).

Signed-off-by: Arpit Jain <arpitjain099@gmail.com>
@arpitjain099 arpitjain099 force-pushed the chore/release-permissions branch from 871aa18 to dc9c3eb Compare June 10, 2026 07:22
@deno-cla-assistant

deno-cla-assistant Bot commented Jun 10, 2026

Copy link
Copy Markdown

Deno Individual Contributor License Agreement

All contributors have signed the CLA. Thank you!

Re-run CLA check


This is an automated message from CLA Assistant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants